import numpy as np
import E_SetAdp
import S_Draw
import C_Load_Process_Map


# 种群个体类

class Individual:

    def __init__(self):
        # 个体编码，（解）
        # 其机器部分编码和工序部分是一一对应的等长的
        self.LS_Chromosome = []  # 机器编码的染色体
        self.PS_Chromosome = []  # 工序编码的染色体
        self.Adaptability = []  # 适应度：解在函数中的值。2目标就是[a,b]

    # 通过染色体初始化 用于后续种群
    # 对每个个体必须更新 刚需
    def Update_Chromosome(self, PS_Chromosome, LS_Chromosome, Map):
        self.PS_Chromosome = np.array(PS_Chromosome)
        self.LS_Chromosome = np.array(LS_Chromosome)

    def get_Adaptability_Len(self):
        return len(self.Adaptability)

    def get_Adaptability_value(self, i):
        return self.Adaptability[i]
        self.Adaptability = E_SetAdp.Adaptability_For_MLoad_MCLoad_MY(self, Map)
